@echo off
echo ========================================
echo 拒绝不生成下一步任务最终修复测试
echo ========================================
echo.

echo 修复内容：
echo 1. 完成当前工作流任务（以拒绝方式完成）
echo 2. 更新当前待办任务状态为已处理（拒绝状态）
echo 3. 强制清理可能被工作流引擎自动创建的下一步待办任务
echo.

echo 修复逻辑：
echo 步骤1：完成工作流任务
echo    - taskService.complete(taskId)
echo    - 确保工作流任务被正确完成
echo.

echo 步骤2：更新待办任务状态
echo    - is_handle = 1 (已处理)
echo    - status = 3 (已拒绝)
echo    - finish_time = 当前时间
echo.

echo 步骤3：强制清理下一步任务
echo    - 查询可能被自动创建的下一步待办任务
echo    - 删除这些任务
echo    - 确保拒绝后不生成下一步
echo.

echo 测试步骤：
echo 1. 重启后端服务
echo 2. 重启前端服务
echo 3. 访问待办任务界面
echo 4. 找到第二步的退住申请任务
echo 5. 点击"处理"按钮
echo 6. 选择"审批拒绝"并填写拒绝意见
echo 7. 点击"提交"
echo 8. 验证结果
echo.

echo 预期结果：
echo - 第二步待办任务状态变为已处理（拒绝）
echo - 不生成第三步待办任务
echo - 如果工作流引擎自动创建了第三步任务，会被自动删除
echo - 跳转到审批被拒绝页面
echo - 状态栏显示到第二步（被拒绝）
echo.

echo 验证方法：
echo 1. 检查待办任务列表
echo    - 第二步任务：is_handle = 1, status = 3
echo    - 第三步任务：不应该存在
echo.

echo 2. 检查后端日志
echo    正常情况：
echo    - "=== 退住申请审批拒绝，流程结束 ==="
echo    - "✅ 完成工作流任务（拒绝）: xxx"
echo    - "✅ 更新拒绝步骤的待办任务状态: xxx"
echo    - "✅ 拒绝处理完成，不生成下一步待办任务"
echo.
echo    如果工作流引擎自动创建了下一步任务：
echo    - "⚠️ 发现被自动创建的下一步待办任务，正在清理..."
echo    - "✅ 已删除自动创建的下一步待办任务: xxx"
echo.

echo 3. 检查数据库
echo    -- 检查待办任务
echo    SELECT id, bussniess_id, step_no, is_handle, status, create_time 
echo    FROM pending_tasks 
echo    WHERE bussniess_id = 业务ID 
echo    ORDER BY step_no;
echo.
echo    -- 检查审批记录
echo    SELECT id, bussniess_id, step_no, audit_status, opinion, create_time 
echo    FROM accraditation_record 
echo    WHERE bussniess_id = 业务ID 
echo    ORDER BY step_no;
echo.

echo 4. 检查页面跳转
echo    - 跳转到 /tuizhuceshi/spbjj?step=2
echo    - 状态栏显示第1步完成，第2步高亮（被拒绝）
echo.

echo 如果问题仍然存在：
echo 1. 检查工作流引擎配置
echo 2. 检查是否有其他异步任务
echo 3. 检查数据库事务设置
echo 4. 考虑修改工作流定义
echo.

echo 这个修复方案的优势：
echo 1. 主动完成工作流任务，避免引擎自动推进
echo 2. 强制清理可能被自动创建的任务
echo 3. 确保拒绝后流程真正结束
echo 4. 提供详细的日志记录便于调试
echo.

pause
